package com.ruoyi.standingbook.recycle.mapper;

import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.common.domain.vo.StatisticsRecycleVo;
import com.ruoyi.standingbook.recycle.domain.Recycle;
import com.ruoyi.standingbook.recycle.domain.bo.RecycleBo;
import com.ruoyi.standingbook.recycle.domain.bo.RecyclePicBo;
import com.ruoyi.standingbook.recycle.domain.vo.RecycleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 垃圾清运Mapper接口
 *
 * @author cc
 * @date 2023-04-28
 */
public interface RecycleMapper extends BaseMapperPlus<RecycleMapper, Recycle, RecycleVo> {

    /**
     * 统计今天垃圾清运桶数
     */
    Long  statisticsTodayBarrelage();

    /**
     * 统计历史垃圾清运桶数
     */
    Double  statisticsTotalBarrelage();

    /**
     * 统计今天垃圾清运桶数分组列表
     */
    List<StatisticsRecycleVo> statisticsTodayBarrelageList();

    /**
     * 统计指定月垃圾清运桶数分组列表
     */
    List<StatisticsRecycleVo> statisticsMonthBarrelageList(RecycleBo bo);

    /**
     * 统计今天垃圾车辆数分组列表
     */
    List<StatisticsRecycleVo> statisticsTodayCarNumberList();

    /**
     * 统计指定月垃圾清运车辆数分组列表
     */
    List<StatisticsRecycleVo> statisticsMonthCarNumberList(RecycleBo bo);

    /**
     * 垃圾清运列表查询
     */
    List<RecycleVo> recycleList(RecycleBo bo);

    /**
     * 获取智慧大屏图片
     * @param date
     * @return
     */
    List<RecyclePicBo> selectPicByDate(@Param("date") String date);

    /**
     * 统计
     * @param date
     * @return
     */
    List<Double> selectSumByDate(@Param("date") String date);

    /**
     * 统计当前年份1月1日至今的桶数
     * @return
     */
    Integer statisticsBarrelageYearToNow();
}
